It is well known that acquisition techniques used for the creation of digital images introduce noise and artifacts resulting from imperfection of the imaging process. It is therefore common to use noise-reducing filters in attempt to improve the quality of the resulting image. Since the human eye is particularly sensitive to discontinuities (edges) in the image, one typically tries to reduce the noise while keeping the edges as unaltered as possible.
In particular, in the domain of 3D image acquisition, a depth image represents the distance of an object from the camera, and edges correspond to depth discontinuities (e.g., delimiting the boundaries of one object from another). Having sharp edges in a depth image is of paramount importance for numerous applications, such as texture mapping (where a color image captured by another camera is mapped onto the depth image) or object segmentation.
In coded light 3D acquisition systems, a scene is typically illuminated by a sequence of binary code patterns (such as vertical stripes), which are then captured by a camera. This way, each pixel seen by the camera has a code (allowing to infer the depth of the scene by triangulation from the known relative positions of the camera and the projector), as well as confidence (allowing to consider the depth estimation in a pixel as reliable or not). At depth discontinuities (such as edges), the code estimation is inaccurate, resulting in noisy edges.
Furthermore, poorly illuminated parts of the scene (e.g. very distant background objects or objects with small reflection coefficients) would typically also have low confidence in depth estimation. After applying a threshold on the confidence level, such regions would typically appear as mostly non-confident with randomly located groups of confident pixels, looking at a temporal sequence of such depth images would contain a very disturbing temporal noise that should ideally be eliminated. Pixels along edges are typically poorly illuminated and appear in a similar manner as randomly confident/non-confident. Conversely, the surface of close objects with high reflection coefficients would typically contain mostly confident pixels, with the exception of a few spots of strong specular reflections that would be marked as non-confident.
It is desirable to improve depth images, such as those captured by coded light systems, and in particular, improvement of edges in such images.